#!/usr/bin/env python
"""
MD2PPT AI 集成快速演示脚本

这个脚本展示如何使用 MD2PPT 的 AI 集成功能：
1. 提供场景化的提示词模板
2. 模拟AI生成的Markdown内容
3. 调用MD2PPT进行转换
4. 展示完整的工作流程

使用方法：
    python scripts/quick_ai_demo.py
    python scripts/quick_ai_demo.py --scenario education
    python scripts/quick_ai_demo.py --scenario business --format video
"""

import argparse
import os
import sys
from pathlib import Path
import subprocess
import tempfile

class AIIntegrationDemo:
    def __init__(self):
        self.root_dir = Path(__file__).parent.parent
        self.templates_dir = self.root_dir / "ai_integration" / "prompt_templates"
        
        # 预定义的演示内容
        self.demo_content = {
            "education": {
                "prompt": "制作一个关于'机器学习基础'的在线课程，适合计算机专业大学生，时长45分钟",
                "markdown": """# 机器学习基础入门

::fadeIn[duration=2.0,delay=0.5,easing=ease-in-out]
欢迎来到《机器学习基础》课程！
今天我们将探索人工智能的核心技术。
::

---

## 📋 课程大纲

::slideIn[direction=up,duration=1.5,delay=0.5]
### 今天我们将学习：

- 🧠 **模块一**: 机器学习概念与分类
- 📊 **模块二**: 监督学习算法
- 🔍 **模块三**: 无监督学习方法
- 🎯 **模块四**: 实际应用案例分析
::

---

## 🎯 学习目标

::fadeIn[duration=1.8,delay=0.3]
学完本课程，你将能够：
::

::slideIn[direction=left,duration=1.2,delay=1.5]
- ✅ 理解机器学习的基本概念和应用领域
- ✅ 掌握主要机器学习算法的原理和特点
- ✅ 能够选择合适的算法解决实际问题
- ✅ 具备机器学习项目的基本实践能力
::

---

## 🧠 什么是机器学习

### 📖 基本定义

::fadeIn[duration=2.0]
机器学习是人工智能的一个分支，它让计算机能够在没有明确编程的情况下学习和改进。
::

::appear[delay=2.5]
🔍 **核心思想**: 通过数据找规律，用规律做预测
::

---

### 🌟 机器学习的分类

::slideIn[direction=right,duration=1.5,delay=0.5]
**三大类型**:
::

::slideIn[direction=left,duration=1.0,delay=2.0]
- 🎯 **监督学习**: 有老师指导的学习（分类、回归）
- 🔍 **无监督学习**: 自主发现模式（聚类、降维）
- 🎮 **强化学习**: 通过试错学习（游戏AI、自动驾驶）
::

---

## 📊 监督学习详解

### 🎯 分类问题

::bounce[intensity=1.1,duration=0.8,delay=1.0]
**什么是分类？**
::

::appear[delay=2.0]
根据特征判断事物属于哪个类别：
- 📧 垃圾邮件识别
- 🖼️ 图像识别
- 🏥 疾病诊断
::

### 📈 回归问题

::fadeIn[duration=1.5,delay=3.5]
**什么是回归？**
::

::slideIn[direction=up,duration=1.2,delay=5.0]
预测连续数值：
- 💰 房价预测
- 📊 股票价格
- 🌡️ 温度预报
::

---

## 🔍 无监督学习应用

### 🎪 聚类分析

::zoom[intensity=1.2,duration=1.0,delay=0.5]
**发现数据中的群组**:
::

::slideIn[direction=right,duration=1.2,delay=1.5]
- 👥 客户分群
- 🧬 基因分析
- 🛒 商品推荐
::

### 📉 降维技术

::appear[delay=3.0]
**简化复杂数据**:
- 🖼️ 图像压缩
- 📊 数据可视化
- ⚡ 特征提取
::

---

## 🎯 实际应用案例

### 🛒 电商推荐系统

::fadeIn[duration=1.5]
**技术组合**:
::

::slideIn[direction=left,duration=1.0,delay=1.5]
1. **协同过滤**: 找相似用户
2. **内容推荐**: 分析商品特征
3. **深度学习**: 复杂模式识别
::

::bounce[intensity=1.1,duration=0.8,delay=4.0]
🎯 **效果**: 提升转化率30%+
::

---

### 🚗 自动驾驶系统

::appear[delay=1.0]
**核心技术**:
::

::slideIn[direction=up,duration=1.0,delay=2.0]
- 👁️ **计算机视觉**: 识别道路、车辆、行人
- 🧭 **路径规划**: 计算最优驾驶路线
- 🎮 **强化学习**: 学习驾驶策略
::

---

## 🤔 互动思考

::bounce[intensity=1.2,duration=1.0,delay=1.0]
💭 **思考题**: 你认为机器学习还能应用在哪些领域？
::

::appear[delay=3.0]
⏱️ 请花2分钟时间思考，然后与同学分享你的想法。
::

---

## 🚀 学习建议

### 📚 推荐学习路径

::slideIn[direction=right,duration=1.2]
**阶段一**: 理论基础
- 📖 统计学和概率论
- 💻 Python编程基础
- 📊 数据处理技能
::

::slideIn[direction=right,duration=1.2,delay=1.5]
**阶段二**: 算法实践
- 🛠️ Scikit-learn框架
- 📈 经典算法实现
- 🔍 项目实战练习
::

::slideIn[direction=right,duration=1.2,delay=3.0]
**阶段三**: 深度学习
- 🧠 神经网络原理
- 🔥 TensorFlow/PyTorch
- 🎯 专业领域应用
::

---

## 📝 课程总结

### ✅ 今天我们学到了

::slideIn[direction=up,duration=1.2]
- 🧠 **核心概念**: 机器学习的定义和分类
- 📊 **监督学习**: 分类和回归问题的理解
- 🔍 **无监督学习**: 聚类和降维的应用
- 🎯 **实际案例**: 推荐系统和自动驾驶的技术架构
::

---

## 🎓 结语

::fadeIn[duration=2.5,delay=1.0,easing=ease-in-out]
机器学习正在改变我们的世界！

从搜索引擎到智能助手，从医疗诊断到金融风控，
机器学习已经深入到生活的方方面面。

掌握这项技术，你就掌握了未来！
::

::bounce[intensity=1.3,duration=1.2,delay=4.0]
🚀 让我们在下一节课继续深入探索！
::"""
            },
            
            "business": {
                "prompt": "需要向投资人汇报我们的AI创业项目进展，包括产品发布、用户增长、营收情况等",
                "markdown": """# SmartWrite AI 项目汇报

::fadeIn[duration=2.0,delay=0.5,easing=ease-in-out]
## Q4 业务进展总结
智能写作助手的突破性增长
::

---

## 📊 核心成果概览

::slideIn[direction=up,duration=1.5,delay=0.5]
### 主要成就

- ✅ **产品上线**: 成功发布 SmartWrite AI 2.0
- 📈 **用户突破**: 注册用户达到 15万人
- 💰 **营收增长**: 月收入突破 200万元
- 🏆 **市场认可**: 获得"最佳AI应用奖"
::

::zoom[intensity=1.2,duration=1.0,delay=2.5]
**总体评价**: 超额完成Q4所有核心指标
::

---

## 📋 用户增长数据

### 📈 用户规模突破

::appear[delay=0.8]
| 指标 | Q3 | Q4 | 增长率 |
|------|----|----|--------|
| 注册用户 | 5万 | 15万 | +200% |
| 付费用户 | 8,000 | 25,000 | +213% |
| 日活用户 | 12,000 | 35,000 | +192% |
| 用户留存率 | 65% | 78% | +20% |
::

### 🎯 用户画像分析

::slideIn[direction=right,duration=1.2,delay=1.5]
**核心用户群体**:
- 📚 **教育工作者**: 35% (论文写作、课件制作)
- 💼 **企业白领**: 30% (报告撰写、方案制作)
- ✍️ **内容创作者**: 25% (文章创作、营销文案)
- 🎓 **学生群体**: 10% (作业辅助、学习笔记)
::

---

## 💰 营收表现分析

### 📊 收入构成

::bounce[intensity=1.1,duration=0.8,delay=1.0]
**Q4 总营收**: 680万元
::

::slideIn[direction=left,duration=1.2,delay=2.0]
**收入来源分析**:
- 💎 **专业版订阅**: 420万 (62%)
- 🏢 **企业版授权**: 180万 (26%)
- 🔧 **API调用服务**: 50万 (7%)
- 🎁 **增值服务**: 30万 (5%)
::

### 📈 增长趋势

::appear[delay=4.0]
**月度营收增长**:
- 10月: 150万 (+25%)
- 11月: 210万 (+40%)
- 12月: 320万 (+52%)
::

---

## 🚀 产品发展成果

### 🎨 SmartWrite AI 2.0 发布

::fadeIn[duration=1.5]
**核心功能升级**:
::

::slideIn[direction=up,duration=1.0,delay=1.5]
- 🧠 **智能写作**: GPT-4驱动，写作质量提升40%
- 🎯 **多场景适配**: 支持20+专业写作场景
- 🌍 **多语言支持**: 新增英、日、韩语写作
- ⚡ **响应速度**: 生成速度提升3倍
::

### 📱 产品矩阵扩展

::zoom[intensity=1.2,duration=1.0,delay=3.5]
**新产品线**:
::

::appear[delay=4.5]
- 💻 **桌面版应用**: 专业写作环境
- 📱 **移动端APP**: 随时随地创作
- 🔌 **浏览器插件**: 网页内容辅助
- 🤖 **企业API**: B端定制化服务
::

---

## 🎯 市场竞争分析

### 🏆 竞争优势

::slideIn[direction=right,duration=1.5]
**核心差异化**:
::

::appear[delay=1.5]
| 维度 | SmartWrite | 竞品A | 竞品B |
|------|------------|-------|-------|
| 写作质量 | 🌟🌟🌟🌟🌟 | 🌟🌟🌟 | 🌟🌟🌟🌟 |
| 响应速度 | <2秒 | 5-8秒 | 3-5秒 |
| 场景覆盖 | 20+ | 8 | 12 |
| 用户体验 | 🌟🌟🌟🌟🌟 | 🌟🌟🌟 | 🌟🌟🌟🌟 |
::

### 📊 市场份额

::bounce[intensity=1.1,duration=0.8,delay=3.0]
**市场地位**: 智能写作赛道第2名
::

::slideIn[direction=left,duration=1.2,delay=4.0]
- 🥇 **竞品A**: 35% 市场份额
- 🥈 **SmartWrite**: 28% 市场份额 (↗️ +15%)
- 🥉 **竞品B**: 20% 市场份额
- 📊 **其他**: 17% 市场份额
::

---

## 🔮 未来发展规划

### 📅 2025年战略目标

::fadeIn[duration=1.5,delay=1.0]
**核心目标**:
::

::slideIn[direction=up,duration=1.2,delay=2.5]
- 👥 **用户规模**: 达到50万注册用户
- 💰 **营收目标**: 年收入突破5000万
- 🌍 **国际化**: 进入海外市场，覆盖10个国家
- 🤖 **技术突破**: 发布SmartWrite AI 3.0
::

### 💡 产品创新方向

::zoom[intensity=1.2,duration=1.0,delay=4.5]
**技术升级计划**:
::

::appear[delay=5.5]
- 🧠 **多模态AI**: 文本+图像+语音融合创作
- 🎯 **个性化引擎**: 学习用户写作风格
- 🔄 **协作平台**: 团队实时协作写作
- 📊 **数据洞察**: 写作效果分析和优化建议
::

---

## 💵 融资需求

### 🎯 资金用途

::slideIn[direction=right,duration=1.5]
**A轮融资**: 2000万元
::

::appear[delay=1.5]
**资金分配计划**:
- 🔬 **技术研发**: 800万 (40%)
- 📢 **市场推广**: 600万 (30%)
- 👥 **团队扩张**: 400万 (20%)
- 🌍 **国际化**: 200万 (10%)
::

### 📈 投资回报预期

::bounce[intensity=1.2,duration=1.0,delay=3.0]
**预期回报**:
::

::slideIn[direction=left,duration=1.2,delay=4.0]
- 📊 **3年目标**: 年收入突破2亿元
- 💰 **估值预期**: 10倍增长空间
- 🚀 **退出路径**: IPO或战略收购
::

---

## 🤝 合作机会

### 🏢 战略合作伙伴

::fadeIn[duration=1.5]
**已签约合作**:
::

::slideIn[direction=up,duration=1.0,delay=1.5]
- 📚 **教育部门**: 与3所知名大学达成合作
- 💼 **企业客户**: 服务500+家企业客户
- 🔌 **技术集成**: 与5家SaaS平台完成对接
::

### 🌟 合作价值

::zoom[intensity=1.3,duration=1.0,delay=3.5]
**共赢机会**: 共建AI写作生态
::

---

## 📝 总结

::fadeIn[duration=2.5,delay=1.0,easing=ease-in-out]
SmartWrite AI 在Q4实现了里程碑式的突破：

✅ **用户增长**: 200%的爆发式增长
✅ **营收突破**: 远超预期的收入表现  
✅ **产品升级**: 技术领先的2.0版本
✅ **市场地位**: 跻身行业第二名

我们已经准备好迎接下一个增长阶段！
::

::bounce[intensity=1.3,duration=1.2,delay=4.0]
🚀 期待与您携手，共创AI写作的未来！
::"""
            },
            
            "tech": {
                "prompt": "需要向技术团队分享我们的容器化部署方案，包括Docker、Kubernetes、CI/CD等内容",
                "markdown": """# 容器化部署架构分享

::fadeIn[duration=2.0,delay=0.5,easing=ease-in-out]
## 从单体到微服务的容器化之路
云原生部署的最佳实践
::

---

## 🎯 背景与挑战

### 💭 现有架构痛点

::slideIn[direction=right,duration=1.5]
**传统部署面临的问题**:
- ⚠️ **环境不一致**: 开发、测试、生产环境差异
- 🐌 **部署复杂**: 手动部署流程繁琐易错
- 📈 **扩展困难**: 单体应用水平扩展瓶颈
- 🔧 **运维负担**: 服务器配置和维护成本高
::

### 📊 业务增长压力

::appear[delay=2.5]
**快速增长带来的挑战**:

| 指标 | 当前 | 预期(1年后) | 挑战 |
|------|------|-------------|------|
| 用户并发 | 1万 | 10万 | 🔴 性能瓶颈 |
| 部署频率 | 周发布 | 日发布 | 🟡 效率问题 |
| 服务数量 | 5个 | 20个 | 🔴 管理复杂 |
::

---

## 💡 容器化解决方案

### 🎨 整体架构设计

::fadeIn[duration=1.5]
**新架构设计思路**:
::

::slideIn[direction=left,duration=1.2,delay=1.5]
```
                    【负载均衡器】
                         │
                    ┌────┴────┐
                    │ Ingress │
                    └────┬────┘
                         │
        ┌────────────────┼────────────────┐
        │                │                │
   ┌────────┐      ┌────────┐      ┌────────┐
   │用户服务 │      │订单服务 │      │支付服务 │
   │(Pod)   │      │(Pod)   │      │(Pod)   │
   └────────┘      └────────┘      └────────┘
        │                │                │
        └────────────────┼────────────────┘
                         │
                   ┌────────┐
                   │数据库层 │
                   └────────┘
```
::

### 🔧 核心技术选型

::bounce[intensity=1.1,duration=0.8,delay=3.0]
**技术栈决策**:
::

::slideIn[direction=up,duration=1.0,delay=4.0]
- **🐳 容器化**: Docker + Docker Compose
- **☸️ 编排工具**: Kubernetes (K8s)
- **🔄 CI/CD**: GitLab CI + ArgoCD
- **📊 监控**: Prometheus + Grafana
- **📝 日志**: ELK Stack (Elasticsearch + Logstash + Kibana)
::

---

## 🐳 Docker 容器化实践

### 📝 Dockerfile 最佳实践

::appear[delay=1.0]
**优化的 Dockerfile 示例**:
::

::fadeIn[duration=1.0,delay=2.0]
```dockerfile
# 多阶段构建，减小镜像体积
FROM node:16-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

FROM node:16-alpine AS runtime
WORKDIR /app
# 创建非root用户
RUN addgroup -g 1001 -S nodejs
RUN adduser -S nextjs -u 1001

# 复制构建产物
COPY --from=builder /app/node_modules ./node_modules
COPY --chown=nextjs:nodejs . .

USER nextjs
EXPOSE 3000
CMD ["npm", "start"]
```
::

::slideIn[direction=right,duration=1.2,delay=4.0]
**优化亮点**:
- 🎯 **多阶段构建**: 镜像体积减少60%
- 🛡️ **安全加固**: 非root用户运行
- ⚡ **构建缓存**: 依赖分层优化
::

### 🗄️ 镜像管理策略

::zoom[intensity=1.2,duration=1.0,delay=5.5]
**镜像版本管理**:
::

::appear[delay=6.5]
```bash
# 版本标签规范
myapp:1.2.3          # 语义化版本
myapp:1.2.3-alpha.1  # 预发布版本
myapp:latest         # 最新稳定版
myapp:dev            # 开发版本
```
::

---

## ☸️ Kubernetes 部署配置

### 🚀 核心资源配置

::slideIn[direction=left,duration=1.2]
**Deployment 配置**:
::

::appear[delay=1.5]
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: user-service
spec:
  replicas: 3
  selector:
    matchLabels:
      app: user-service
  template:
    metadata:
      labels:
        app: user-service
    spec:
      containers:
      - name: user-service
        image: myregistry/user-service:1.2.3
        ports:
        - containerPort: 8080
        resources:
          requests:
            memory: "128Mi"
            cpu: "100m"
          limits:
            memory: "256Mi"
            cpu: "200m"
        livenessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 30
          periodSeconds: 10
```
::

### 🔧 服务发现与负载均衡

::bounce[intensity=1.1,duration=0.8,delay=3.5]
**Service 配置**:
::

::fadeIn[duration=1.0,delay=4.5]
```yaml
apiVersion: v1
kind: Service
metadata:
  name: user-service
spec:
  selector:
    app: user-service
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8080
  type: ClusterIP
```
::

---

## 🔄 CI/CD 流水线设计

### 📦 GitLab CI 配置

::fadeIn[duration=1.5]
**完整的 .gitlab-ci.yml**:
::

::appear[delay=1.5]
```yaml
stages:
  - test
  - build
  - deploy

variables:
  DOCKER_REGISTRY: registry.company.com
  IMAGE_TAG: $CI_COMMIT_SHA

# 单元测试
test:
  stage: test
  script:
    - npm install
    - npm run test
    - npm run lint
  coverage: '/Lines.*?(\d+\.\d+)%/'

# 构建镜像
build:
  stage: build
  script:
    - docker build -t $DOCKER_REGISTRY/myapp:$IMAGE_TAG .
    - docker push $DOCKER_REGISTRY/myapp:$IMAGE_TAG
  only:
    - main
    - develop

# 部署到K8s
deploy:
  stage: deploy
  script:
    - kubectl set image deployment/myapp myapp=$DOCKER_REGISTRY/myapp:$IMAGE_TAG
    - kubectl rollout status deployment/myapp
  environment:
    name: production
  only:
    - main
```
::

### 🎯 部署策略

::slideIn[direction=up,duration=1.2,delay=4.0]
**滚动更新策略**:
- 🔄 **零停机部署**: 滚动更新，保证服务可用性
- 🛡️ **自动回滚**: 健康检查失败自动回滚
- 📊 **蓝绿部署**: 重要发布使用蓝绿策略
::

---

## 📊 监控与日志系统

### 📈 Prometheus 监控配置

::zoom[intensity=1.2,duration=1.0,delay=1.0]
**核心监控指标**:
::

::slideIn[direction=right,duration=1.2,delay=2.0]
```yaml
# Prometheus 配置
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'kubernetes-pods'
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
      action: keep
      regex: true
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
      action: replace
      target_label: __metrics_path__
      regex: (.+)
```
::

### 📊 关键监控指标

::appear[delay=4.0]
**业务监控维度**:
- 📈 **QPS**: 每秒请求数
- ⏱️ **响应时间**: P95、P99延迟
- ❌ **错误率**: 4xx、5xx错误比例
- 💾 **资源使用**: CPU、内存、磁盘
- 🔍 **业务指标**: 用户注册、订单转化
::

---

## 🛡️ 安全与最佳实践

### 🔐 安全配置

::bounce[intensity=1.1,duration=0.8,delay=1.0]
**容器安全加固**:
::

::slideIn[direction=left,duration=1.0,delay=2.0]
- 🛡️ **最小权限**: 非root用户运行
- 🔒 **镜像扫描**: 漏洞扫描自动化
- 🔑 **密钥管理**: Kubernetes Secrets
- 🌐 **网络隔离**: NetworkPolicy限制
::

### 📋 运维最佳实践

::fadeIn[duration=1.5,delay=3.5]
**日常运维规范**:
::

::appear[delay=5.0]
- ✅ **资源限制**: 设置合理的CPU/内存限制
- 🔄 **健康检查**: 配置liveness和readiness探针
- 📝 **日志规范**: 结构化日志输出
- 🎯 **标签管理**: 统一的标签和注解规范
::

---

## 📈 性能优化成果

### 🎯 部署效率提升

::slideIn[direction=up,duration=1.2]
**优化效果对比**:
::

::appear[delay=1.5]
| 指标 | 优化前 | 优化后 | 提升幅度 |
|------|--------|--------|----------|
| 部署时间 | 30分钟 | 5分钟 | ⚡ 83%↓ |
| 回滚时间 | 15分钟 | 2分钟 | 🚀 87%↓ |
| 故障恢复 | 20分钟 | 3分钟 | 💪 85%↓ |
| 资源利用率 | 40% | 75% | 📈 87%↑ |
::

### 💰 成本优化

::zoom[intensity=1.3,duration=1.0,delay=3.0]
**成本节省效果**:
::

::slideIn[direction=right,duration=1.2,delay=4.0]
- 💰 **服务器成本**: 节省40%（自动伸缩）
- ⏰ **运维时间**: 减少60%（自动化运维）
- 🛡️ **故障损失**: 降低80%（快速恢复）
::

---

## 🚀 未来发展规划

### 🔮 技术演进路线

::fadeIn[duration=1.5,delay=1.0]
**下一阶段目标**:
::

::slideIn[direction=up,duration=1.0,delay=2.5]
1. **服务网格** → Istio微服务治理
2. **边缘计算** → 边缘节点部署
3. **AI运维** → 智能故障预测
4. **混合云** → 多云容灾部署
::

### 🛠️ 技术选型考虑

::appear[delay=4.5]
**评估中的技术**:
- 🕸️ **Istio**: 服务网格治理
- 🌊 **Knative**: Serverless容器平台
- 🔧 **Operators**: 自定义资源管理
- 📦 **Helm**: 应用包管理
::

---

## 💡 经验总结

### ✅ 成功关键因素

::slideIn[direction=left,duration=1.2]
**项目成功要素**:
- 🎯 **渐进式迁移**: 逐步容器化，降低风险
- 👥 **团队培训**: 全员掌握容器技术
- 📊 **监控先行**: 完善监控再上线
- 🔄 **自动化优先**: 减少人工干预
::

### ⚠️ 踩坑经验

::bounce[intensity=1.1,duration=0.8,delay=2.0]
**避免的常见错误**:
::

::slideIn[direction=right,duration=1.0,delay=3.0]
- 🚫 **资源未限制** → 容器占用过多资源
- 🚫 **状态耦合** → 有状态应用容器化困难
- 🚫 **网络忽视** → 网络策略配置不当
- 🚫 **监控缺失** → 问题发现不及时
::

---

## 🎓 学习资源推荐

### 📖 推荐文档

::fadeIn[duration=1.5,delay=1.0]
**深入学习材料**:
::

::appear[delay=2.5]
- 📚 **官方文档**: [kubernetes.io](https://kubernetes.io)
- 🎥 **视频教程**: CNCF官方培训课程
- 💻 **实践项目**: [kubernetes-examples](https://github.com/kubernetes/examples)
- 👥 **社区资源**: Kubernetes中文社区
::

### 🎯 认证建议

::slideIn[direction=up,duration=1.2,delay=4.0]
**技能认证路径**:
1. **CKA** → Certified Kubernetes Administrator
2. **CKAD** → Certified Kubernetes Application Developer
3. **CKS** → Certified Kubernetes Security Specialist
::

---

## 🎉 总结

::fadeIn[duration=2.5,delay=1.0,easing=ease-in-out]
容器化部署让我们的系统更加：

✅ **敏捷**: 部署效率提升83%
✅ **稳定**: 故障恢复时间减少85%
✅ **经济**: 运维成本降低60%
✅ **现代**: 拥抱云原生技术栈

这不仅是技术升级，更是工程文化的进化！
::

::bounce[intensity=1.3,duration=1.2,delay=4.0]
🚀 让我们继续在云原生的道路上探索前行！
::"""
            }
        }
        
    def show_templates(self):
        """展示可用的模板"""
        print("🎨 可用的场景模板：")
        print()
        
        templates = {
            "通用模板": "适用于所有场景的基础模板",
            "education": "📚 教育培训场景 - 课程制作、知识分享",
            "business": "💼 商务汇报场景 - 项目汇报、商业计划", 
            "tech": "💻 技术分享场景 - 技术方案、架构设计"
        }
        
        for name, desc in templates.items():
            print(f"  • {name}: {desc}")
        print()
        
    def show_template_content(self, scenario):
        """显示模板内容"""
        if scenario == "general":
            template_file = self.templates_dir / "md2ppt_prompt_template.md"
        else:
            template_file = self.templates_dir / "scenario_specific" / f"{scenario}_template.md"
            
        if template_file.exists():
            print(f"📋 {scenario} 场景模板内容：")
            print("=" * 50)
            with open(template_file, 'r', encoding='utf-8') as f:
                content = f.read()
                # 只显示前1000个字符
                if len(content) > 1000:
                    print(content[:1000] + "...\n[内容过长，已截断]")
                else:
                    print(content)
            print("=" * 50)
        else:
            print(f"❌ 模板文件不存在: {template_file}")
            
    def demo_workflow(self, scenario, output_format="html"):
        """演示完整工作流程"""
        print(f"🚀 开始 {scenario} 场景演示...")
        print()
        
        if scenario not in self.demo_content:
            print(f"❌ 不支持的场景: {scenario}")
            return False
            
        demo = self.demo_content[scenario]
        
        # 1. 显示用户需求
        print("👤 用户需求描述：")
        print(f"   {demo['prompt']}")
        print()
        
        # 2. 显示AI生成的内容（截断显示）
        print("🤖 AI 生成的 Markdown 内容（部分）：")
        content_preview = demo['markdown'][:500] + "..."
        print(content_preview)
        print()
        
        # 3. 保存到临时文件
        with tempfile.NamedTemporaryFile(mode='w', suffix='.md', delete=False, encoding='utf-8') as f:
            f.write(demo['markdown'])
            temp_file = f.name
            
        print(f"📄 内容已保存到临时文件: {temp_file}")
        
        # 4. 调用MD2PPT转换
        print("🔄 调用 MD2PPT 进行转换...")
        
        try:
            cmd = [
                sys.executable, "-m", "md2ppt",
                temp_file,
                "--format", output_format,
                "--enable-animations",
                "--theme", "blue",
                "--verbose"
            ]
            
            if output_format == "video":
                cmd.extend(["--generate-tts", "--tts-voice", "zh-CN-XiaoxiaoNeural"])
                
            print(f"执行命令: {' '.join(cmd)}")
            result = subprocess.run(cmd, capture_output=True, text=True, timeout=120)
            
            if result.returncode == 0:
                print("✅ 转换成功！")
                print("生成的文件：")
                
                # 查找生成的文件
                base_name = Path(temp_file).stem
                parent_dir = Path(temp_file).parent
                
                for ext in ['.pptx', '.html', '.mp4', '.srt']:
                    output_file = parent_dir / f"{base_name}{ext}"
                    if output_file.exists():
                        size = output_file.stat().st_size
                        print(f"  📄 {output_file.name} ({size:,} 字节)")
                        
            else:
                print("❌ 转换失败：")
                print(result.stderr)
                
        except subprocess.TimeoutExpired:
            print("⏱️ 转换超时，但这在实际使用中是正常的（特别是视频生成）")
        except Exception as e:
            print(f"❌ 转换出错: {e}")
        finally:
            # 清理临时文件
            try:
                os.unlink(temp_file)
            except:
                pass
                
        return True
        
    def show_integration_guide(self):
        """显示集成指南"""
        guide_file = self.root_dir / "ai_integration" / "AI_INTEGRATION_GUIDE.md"
        
        if guide_file.exists():
            print("📖 AI 集成指南：")
            print(f"   文件位置: {guide_file}")
            print(f"   在线查看: cat {guide_file}")
        else:
            print("❌ 集成指南文件不存在")
            
        print()
        print("🔗 相关资源：")
        print("  • 提示词模板: ai_integration/prompt_templates/")
        print("  • 使用案例: ai_integration/examples/")
        print("  • API同步工具: scripts/sync_api_to_apifox.py")
        print()

def main():
    parser = argparse.ArgumentParser(
        description="MD2PPT AI 集成功能演示",
        formatter_class=argparse.RawDescriptionHelpFormatter,
        epilog="""
使用示例:
  python scripts/quick_ai_demo.py                           # 显示模板列表
  python scripts/quick_ai_demo.py --show education          # 显示教育模板
  python scripts/quick_ai_demo.py --demo business           # 商务场景演示
  python scripts/quick_ai_demo.py --demo tech --format video # 技术场景视频演示
        """
    )
    
    parser.add_argument(
        '--show', 
        choices=['general', 'education', 'business', 'tech'],
        help='显示指定场景的模板内容'
    )
    
    parser.add_argument(
        '--demo',
        choices=['education', 'business', 'tech'],
        help='运行指定场景的完整演示'
    )
    
    parser.add_argument(
        '--format',
        choices=['pptx', 'html', 'video'],
        default='html',
        help='演示时的输出格式 (默认: html)'
    )
    
    parser.add_argument(
        '--guide',
        action='store_true',
        help='显示AI集成指南'
    )
    
    args = parser.parse_args()
    
    demo = AIIntegrationDemo()
    
    print("🎯 MD2PPT AI 集成功能演示")
    print("=" * 50)
    
    if args.show:
        demo.show_template_content(args.show)
    elif args.demo:
        demo.demo_workflow(args.demo, args.format)
    elif args.guide:
        demo.show_integration_guide()
    else:
        demo.show_templates()
        print("💡 使用 --help 查看更多选项")
        print()
        print("🚀 快速开始：")
        print("  python scripts/quick_ai_demo.py --demo education")
        print("  python scripts/quick_ai_demo.py --demo business --format video")

if __name__ == "__main__":
    main()